<!DOCTYPE html>
<html lang="zh-cn">
	<head>
		<meta charset="utf-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		 
			
  
    <meta name="twitter:card" content="summary"/>
    
      <meta name="twitter:image" content="https://www.samrainhan.com/images/avatar.png" />
    
  
  
  <meta name="twitter:title" content="学习golang"/>
  <meta name="twitter:description" content="思维导图文件下载 安装 windows 下载 解压到C盘 设置环境变量 set PATH=%PATH%;C:\Go\bin 特色 清晰并且简洁 并行 Channel 快速 安全 标准格式化 类型后置 UTF-8 开源 开心 Hello World package 开头 独立运行的程序必须以"/>
  
  
  
  
    <meta name="twitter:creator" content="@韩雨"/>
  



		
		<meta name="author" content="韩雨">
		<meta name="description" content="学习 &amp;nbsp;&amp;bull;&amp;nbsp; 生活">
		<meta name="generator" content="Hugo 0.52" />
		<title>学习golang &middot; sam的小窝</title>
		<link rel="shortcut icon" href="https://www.samrainhan.com/images/favicon.ico">
		<link rel="stylesheet" href="https://www.samrainhan.com/css/style.css">
		<link rel="stylesheet" href="https://www.samrainhan.com/css/highlight.css">

		
		<link rel="stylesheet" href="https://www.samrainhan.com/css/font-awesome.min.css">
		

		
		<link href="https://www.samrainhan.com/index.xml" rel="alternate" type="application/rss+xml" title="sam的小窝" />
		

		
	</head>

    <body>
       <nav class="main-nav">
	
	
		<a href='https://www.samrainhan.com/'> <span class="arrow">←</span>Home</a>
	
	<a href='https://www.samrainhan.com/posts'>Archive</a>
	<a href='https://www.samrainhan.com/tags'>Tags</a>
	<a href='https://www.samrainhan.com/about'>About</a>

	

	
	<a class="cta" href="https://www.samrainhan.com/index.xml">Subscribe</a>
	
</nav>


        <section id="wrapper" class="post">
            <article>
                <header>
                    <h1>
                        学习golang
                    </h1>
                    <h2 class="headline">
                    Jul 31, 2013 00:00
                    · 1083 words
                    · 3 minute read
                      <span class="tags">
                      
                      
                          
                              <a href="https://www.samrainhan.com/tags/golang">golang</a>
                          
                              <a href="https://www.samrainhan.com/tags/go-program">go program</a>
                          
                      
                      
                      </span>
                    </h2>
                </header>
                
                  
                    <div id="toc">
                      <nav id="TableOfContents">
<ul>
<li>
<ul>
<li><a href="#安装">安装</a>
<ul>
<li><a href="#windows">windows</a></li>
</ul></li>
<li><a href="#特色">特色</a></li>
<li><a href="#hello-world">Hello World</a></li>
<li><a href="#构建">构建</a></li>
<li><a href="#运行">运行</a></li>
<li><a href="#变量">变量</a></li>
<li><a href="#类型">类型</a></li>
<li><a href="#常量">常量</a></li>
<li><a href="#go-env">go env</a></li>
<li><a href="#中文参考">中文参考</a></li>
<li><a href="#英文参考">英文参考</a></li>
<li><a href="#sublime-text2扩展-https-github-com-disposaboy-gosublime-readme"><a href="https://github.com/DisposaBoy/GoSublime#readme">sublime text2扩展</a></a></li>
<li><a href="#gbk和utf8转换">GBK和UTF8转换</a></li>
<li><a href="#注意">注意</a></li>
</ul></li>
</ul>
</nav>
                    </div>
                  
                
                <section id="post-body">
                    

<p><a href="https://docs.google.com/file/d/0B1DrsqrLRzeIWWhKUnVDbTJJSUE/edit?usp=sharing">思维导图文件下载</a></p>

<h2 id="安装">安装</h2>

<script src="https://gist.github.com/samrain/8168836.js"></script>

<h3 id="windows">windows</h3>

<ul>
<li><a href="http://code.google.com/p/go/downloads/list?q=OpSys-Windows+Type%3DArchive">下载</a></li>
<li>解压到C盘</li>
<li>设置环境变量
set PATH=%PATH%;C:\Go\bin</li>
</ul>

<h2 id="特色">特色</h2>

<ul>
<li>清晰并且简洁</li>
<li>并行</li>
<li>Channel</li>
<li>快速</li>
<li>安全</li>
<li>标准格式化</li>
<li>类型后置</li>
<li>UTF-8</li>
<li>开源</li>
<li>开心</li>
</ul>

<h2 id="hello-world">Hello World</h2>

<ul>
<li>package <something>开头

<ul>
<li>独立运行的程序必须以package main开头</li>
</ul></li>
<li>import &lt;包名&gt;</li>
<li>func main()</li>
</ul>

<h2 id="构建">构建</h2>

<pre><code>使用go工具，例如：go build helloworld.go
</code></pre>

<h2 id="运行">运行</h2>

<pre><code>直接运行，例如：./helloworld
</code></pre>

<h2 id="变量">变量</h2>

<ul>
<li>var xxx 变量类型</li>
<li>默认赋值为该类型的null值</li>
<li>变量类型在变量名的后面</li>
<li>可以一步内完成声明和赋值，变量类型由值推演出来:=</li>
<li>可以用圆括号成组声明</li>
<li>可以在一行内完成声明，用逗号隔开</li>
<li>下划线是特殊变量名，表示任何赋给它的值都被丢弃</li>
<li>未使用的变量在编译时会报错</li>
</ul>

<h2 id="类型">类型</h2>

<ul>
<li>布尔类型
bool</li>
<li>数字类型

<ul>
<li>int

<ul>
<li>根据硬件决定，32位上是32位</li>
<li>int8</li>
<li>int16</li>
<li>int32</li>
<li>int64</li>
</ul></li>
<li>uint

<ul>
<li>类似int</li>
<li>byte
    uint8</li>
<li>uint16</li>
<li>uint32</li>
<li>uint64</li>
</ul></li>
<li>float32</li>
<li>float64</li>
<li>混合使用要报错</li>
</ul></li>
</ul>

<h2 id="常量">常量</h2>

<ul>
<li>const XXX=aaa</li>
<li>只能是数字、字符串或布尔值</li>
<li>在编译时被创建</li>
<li>可以用iota生成枚举值

<ul>
<li>第一个是0</li>
<li>下次使用增加1</li>
<li>第一个常量为iota，第二个省略默认也等于iota</li>
</ul></li>
<li>可以用圆括号成组声明</li>
</ul>

<h2 id="go-env">go env</h2>

<ul>
<li><p>GOARCH</p>

<pre><code>Go编译器输出的程序的目标架构，3个可选：arm, 386, amd64 
</code></pre></li>

<li><p>GOBIN</p>

<pre><code>存放编译出来的命令（程序）的目录，对于GOPATH里面的，默认放到$GOPATH/bin下，GOROOT里面的  放到$GOROOT/bin下，如果$GOBIN设置了，则都放到$GOBIN下。
</code></pre></li>

<li><p>GOCHAR</p>

<pre><code>每个体系的编译器有一个字符表示，比如386是8，amd64是6，arm是5，这个一般不用管。  Plan 9工具链特点。
</code></pre></li>

<li><p>GOEXE</p>

<pre><code>可执行文件名的后缀，只在Windows下有用，设置成&quot;.exe&quot;。
</code></pre></li>

<li><p>GOGCCFLAGS</p>

<pre><code>编译cgo的时候gcc编译的命令行参数。 
</code></pre></li>

<li><p>GOHOSTARCH</p>

<pre><code>当前运行Go工具链的系统架构，可选的值同上$GOARCH
</code></pre></li>

<li><p>GOHOSTOS</p>

<pre><code>当前运行Go工具链的操作系统，可选的值很多，linux, darwin, windows, freebsd, openbsd, netbsd, plan9等 
</code></pre></li>

<li><p>GOOS</p>

<pre><code>编译出来的目标程序在哪个操作系统上执行，可选的同上面的GOHOSTOS。
</code></pre></li>

<li><p>GOPATH</p>

<pre><code>go开发目录
</code></pre></li>

<li><p>GOROOT</p>

<pre><code>Go本身装在GOROOT下面
</code></pre></li>

<li><p>GOTOOLDIR</p>

<pre><code>Go的工具链程序在这个目录下，一般也不用管，直接用go tool 8g这样就行了。
</code></pre></li>

<li><p>CGO_ENABLED</p>

<pre><code>是否使用cgo，可选值是1和0. 
</code></pre></li>
</ul>

<h2 id="中文参考">中文参考</h2>

<ul>
<li><a href="https://github.com/astaxie/build-web-application-with-golang">Go Web编程</a></li>
<li><a href="https://github.com/Unknwon/the-way-to-go_ZH_CN">中文版《Go入门指南》</a></li>
<li><a href="http://en.wikipedia.org/wiki/Go_%28programming_language%29">维基百科:go</a></li>
<li><a href="http://bbs.mygolang.com/thread-419-1-1.html">Go学习笔记</a></li>
<li><a href="https://github.com/polaris1119/The-Golang-Standard-Library-by-Example">Go语言标准库</a></li>
<li><a href="https://github.com/Unknwon/go-fundamental-programming">Go编程基础-视频</a></li>
<li><a href="http://www.mikespook.com/learning-go/">学习Go语言</a></li>
<li><a href="http://blog.studygolang.com/">Go语言学习园地博客</a></li>
<li><a href="https://github.com/astaxie/NPWG_zh">Network programming with Go 中文翻译版本</a></li>
<li><a href="https://golang-china.googlecode.com/svn/trunk/Chinese/golang.org/index.html">Go语言文档</a></li>
<li><a href="http://bbs.studygolang.com/thread-18-1-1.html">Go官方文档</a></li>
<li><a href="http://progginator.lidian.info/#1">在GAE上使用go编程</a></li>
</ul>

<h2 id="英文参考">英文参考</h2>

<ul>
<li><a href="https://github.com/miekg/gobook">Learning Go</a></li>
<li><a href="http://godoc.org/">go package doc</a></li>
</ul>

<h2 id="sublime-text2扩展-https-github-com-disposaboy-gosublime-readme"><a href="https://github.com/DisposaBoy/GoSublime#readme">sublime text2扩展</a></h2>

<h2 id="gbk和utf8转换">GBK和UTF8转换</h2>

<ul>
<li><a href="https://github.com/qiniu/iconv">许世伟iconv</a></li>
<li><a href="https://code.google.com/p/mahonia/">mahonia</a></li>
</ul>

<h2 id="注意">注意</h2>

<ul>
<li>文件是Unix的基础，而文件的读写是基础中的基础</li>

<li><p><a href="http://golang.org/">官网</a></p>

<pre><code>如果想翻过去，修改hosts增加2条：74.125.128.94        www.golang.org 74.125.128.94        golang.org
</code></pre></li>

<li><p>搭建自己的官网</p>

<pre><code>godoc -http 6060
访问http://localhost:6060/
</code></pre></li>

<li><p>gosublime快捷键</p>

<pre><code>快速查看可以import包情况
Ctrl+点 然后 Ctrl+p
</code></pre></li>
</ul>

                </section>
            </article>

            
                <a class="twitter" href="https://twitter.com/intent/tweet?text=https%3a%2f%2fwww.samrainhan.com%2fposts%2f2013-07-31-study-golang%2f - %e5%ad%a6%e4%b9%a0golang "><span class="icon-twitter"> tweet</span></a>

<a class="facebook" href="#" onclick="
    window.open(
      'https://www.facebook.com/sharer/sharer.php?u='+encodeURIComponent(location.href),
      'facebook-share-dialog',
      'width=626,height=436');
    return false;"><span class="icon-facebook-rect"> Share</span>
</a>

            

            
                <div id="disqus_thread"></div>
<script type="text/javascript">
    var disqus_shortname = 'samrainblogbygithub'; 

     
    (function() {
        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
    })();
</script>
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
</div>

            

            
                <ul id="post-list" class="archive readmore">
    <h3>Read more</h3>

    
    
    
        <li>
            <a href="/posts/2019-04-26-c9-move-to-aws-c9/">Cloud9 Move to Aws C9<aside class="dates">Apr 26 2019</aside></a>
        </li>
    
        <li>
            <a href="/posts/2019-02-16-why-build-blog-with-cloud9/">2019 02 16 Why Build Blog With Cloud9<aside class="dates">Feb 16 2019</aside></a>
        </li>
    
        <li>
            <a href="/posts/2018-09-12-sports-stretching-best-practices/">运动拉伸最佳实践<aside class="dates">Sep 12 2018</aside></a>
        </li>
    
        <li>
            <a href="/posts/2018-09-12-add-2-files-to-tempdb-for-caching/">给tempdb加2个文件做缓存<aside class="dates">Sep 12 2018</aside></a>
        </li>
    
        <li>
            <a href="/posts/2018-09-12-look-for-sql-server-tables-without-a-clustered-index/">如何找到没有聚集索引的表<aside class="dates">Sep 12 2018</aside></a>
        </li>
    
        <li>
            <a href="/posts/2018-09-12-the-continuous-delivery-maturity-model/">持续实施成熟度模型<aside class="dates">Sep 12 2018</aside></a>
        </li>
    
        <li>
            <a href="/posts/2018-09-12-map-of-continuous-delivery/">持续发布的各个阶段<aside class="dates">Sep 12 2018</aside></a>
        </li>
    
        <li>
            <a href="/posts/2018-09-12-how-dropbox-securely-stores-your-passwords/">Dropbox的用户密码加密机制<aside class="dates">Sep 12 2018</aside></a>
        </li>
    
        <li>
            <a href="/posts/2018-09-12-code-inspection-tool-for-net/">NET代码检查工具<aside class="dates">Sep 12 2018</aside></a>
        </li>
    
        <li>
            <a href="/posts/2018-09-12-how-to-make-unique-id/">怎样生成唯一ID<aside class="dates">Sep 12 2018</aside></a>
        </li>
    
</ul>

            

            <footer id="footer">
    
        <div id="social">

	
	
    <a class="symbol" href="">
        <i class="fa fa-facebook-square"></i>
    </a>
    
    <a class="symbol" href="https://github.com/samrain">
        <i class="fa fa-github-square"></i>
    </a>
    
    <a class="symbol" href="">
        <i class="fa fa-twitter-square"></i>
    </a>
    


</div>

    
    <p class="small">
    
       © Copyright 2019 <i class="fa fa-heart" aria-hidden="true"></i> 韩雨
    
    </p>
    <p class="small">
        Powered by <a href="http://www.gohugo.io/">Hugo</a> Theme By <a href="https://github.com/nodejh/hugo-theme-cactus-plus">nodejh</a>
    </p>
</footer>

        </section>

        <script src="https://www.samrainhan.com/js/jquery-3.3.1.min.js"></script>
<script src="https://www.samrainhan.com/js/main.js"></script>
<script src="https://www.samrainhan.com/js/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>




  
<script type="application/javascript">
var doNotTrack = false;
if (!doNotTrack) {
	(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
	(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
	m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
	})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
	ga('create', 'UA-37708730-1', 'auto');
	
	ga('send', 'pageview');
}
</script>





    </body>
</html>
